package com.yida.gwj.finance.service;

import com.yida.gwj.api.domain.GwjFinanceMoney;

import java.math.BigDecimal;
import java.util.List;

/**
 * 缴存金额收入总帐明细Service接口
 *
 * @author lqq
 * @date 2022-12-28
 */
public interface IGwjFinanceMoneyService {
	/**
	 * 查询缴存金额收入总帐明细
	 *
	 * @param moneyId 缴存金额收入总帐明细主键
	 * @return 缴存金额收入总帐明细
	 */
	public GwjFinanceMoney selectFinanceMoneyByMoneyId(Long moneyId);

	/**
	 * 查询缴存金额收入总帐明细列表
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	public List<GwjFinanceMoney> selectFinanceMoneyList(GwjFinanceMoney financeMoney);

	/**
	 * 查询缴存金额收入总帐明细列表（详情含业务信息）
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	public List<GwjFinanceMoney> selectFinanceMoneyDetailList(GwjFinanceMoney financeMoney);

	/**
	 * 统计缴存金额
	 *
	 * @param bankId 银行ID
	 * @param areaId 地区ID
	 * @return 缴存金额收入总帐明细集合
	 */
	BigDecimal countDepositMoney(Long bankId, Long areaId);

	/**
	 * 新增缴存金额收入总帐明细
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	public int insertFinanceMoney(GwjFinanceMoney financeMoney);

	/**
	 * 修改缴存金额收入总帐明细
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	public int updateFinanceMoney(GwjFinanceMoney financeMoney);

	/**
	 * 批量删除缴存金额收入总帐明细
	 *
	 * @param moneyIds 需要删除的缴存金额收入总帐明细主键集合
	 * @return 结果
	 */
	public int deleteFinanceMoneyByMoneyIds(Long[] moneyIds);

	/**
	 * 删除缴存金额收入总帐明细信息
	 *
	 * @param moneyId 缴存金额收入总帐明细主键
	 * @return 结果
	 */
	public int deleteFinanceMoneyByMoneyId(Long moneyId);

	/**
	 * 缴存金额收入总帐明细清空绑定的业务信息
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	int clearFinanceMoneyBizInfo(GwjFinanceMoney financeMoney);
}
